/**
 *  函数作用域
 *    - 调用函数时创建作用域，函数执行结束完毕以后，函数作用域销毁
 *    - 每调用一此函数就会创建一个新的函数作用域，他们之间是互相独立的
 *    - 函数作用域中，可以访问到全局作用域的变量
 *    - 在全局作用域中无法访问到函数作用域中的变量
 *    - 当在函数作用域操作一个变量时，它会现在自身作用域中寻找，如果有就直接使用
 *        如果没用，则向上一级作用域中寻找，知道找到全局作用域，
 *        如果全局中依然没有，则会报错
 *    - 函数中使用全局，可以用 window  取值
 */
function fun() {

}
fun()
var a = 10;
function fun1() {
  // var b = 20;
  console.log('a='+a);
}
fun1()
// console.log(b);

/**
 * 在函数作用域中，也有声明提前的特性
 */